\chapter*{Adicionando o Neo4j ao projeto Java}
\thispagestyle{empty}

\section*{Adicionado o Neo4J manualmente ao \textit{Build Path}}
\par Para adicionar o Neo4J ao \textit{build path} do projeto, é necessário fazer o
\textit{download}\footnote{\url{http://www.neo4j.org/download}} da versão do Neo4j que
será utilizada no projeto. Após o \textit{download} será necessário descompactar
o arquivo baixado\footnote{Para linux e Mac a extenção é .tar e para Windows é
.zip} em uma pasta. A IDE Eclipse\footnote{\url{http://www.eclipse.org/downloads/}}
possui a opção \textit{Configure build path} do projeto, em que é possível adicionar as
\textit{Libraries} ao projeto. Abrindo o menu flutuante sobre o
projeto, existe a opção \textit{Build Path}>
\textit{Configure Build Path}. A figura abaixo mostra a tela de configuração do
\textit{build path}.


 \begin{figure}[h!]
  \centerline{\includegraphics[scale=.3]{./imagens/buildPath.png}}
 \end{figure}

\par Na aba \textit{Libraries} existe uma opção chamada \textit{Add Library} e,
ao clicar nesta opção a tela apresentada na Figura abaixo será
aberta. Com a tela aberta é necessário ecolher a opção \textit{User Library} e
clicar em \textit{next}.

 \begin{figure}[h!]
  \centerline{\includegraphics[scale=.3]{./imagens/addLibrary.png}}
\end{figure}
\newpage
\par O Eclipse irá carregar uma tela onde são encontradas todas as
\textit{libraries} já criadas pelo usuário. Para adicionar os arquivos do
Neo4j deve-se criar uma nova \textit{library}, clicando no
botão \textit{User Libraries} > \textit{New} e inserindo um nome, como pode
ser visto na Figura abaixo.

 \begin{figure}[h!]
  \centerline{\includegraphics[scale=.3]{./imagens/newLibrary.png}}
  
\end{figure}

\par Depois de criada a \textit{user library}, é necessário adicionar os
arquivos \textit{jars} do projeto Neo4j.
Para isso, com o auxílio do  botão \textit{Add External Jars}, é necessário
encontrar a pasta descompactada do Neo4j onde existe a pasta \textit{lib} que
mantém todos os \textit{jars} necessários para integrar o banco ao projeto.
A Figura abaixo mostra a \textit{Library} já criada com todos
os \textit{jars} necessários para ter o Neo4j embutido na aplicação Java.

 \begin{figure}[h!]
  \centerline{\includegraphics[scale=.3]{./imagens/libraryNeo4j.png}}
\end{figure}
\newpage
\par Após adicionar o Neo4j ao \textit{build path} do projeto, as classes e interfaces da API ficam disponíveis para utilização.

\section*{Adicionando o Neo4j por gerenciamento de dependência}

\par Para adicionar o Neo4j por gerenciamento de dependência, é necessário
utilizar uma ferramenta de integração de projetos que faz o
gerenciamento de dependência e o controle de versão dos
artefatos. Neste trabalho foi utilizado o Maven, um projeto
 desenvolvido pela Apache que visa gerir a construção e elaboração de
relatórios do projeto além da documentação a partir de uma peça central de
informações \cite{maven}. Para evitar o uso da interface de linha de comando do
maven\footnote{\url{http://maven.apache.org/}}, foi utilizado o \textit{plugin}
m2eclipse\footnote{\url{http://www.eclipse.org/m2e/}}. 

\par Para criar um \textit{Maven Project} é necessário entrar no menu 
\textit{File} > \textit{New} > \textit{Other} e selecionar a opção \textit{Maven
Project}, como ilustrado na Figura a seguir.

 \begin{figure}[h!]
  \centerline{\includegraphics[scale=.3]{./imagens/mavenProject.png}}
 \end{figure}

\par Na janela \textit{New Maven Project}, é exibido um formulário onde o
desenvolvedor deve informar os dados referentes ao projeto para que o Maven
possa crair um artefato do projeto. Os campos do formulário são
\textit{ArchetType}\footnote{\textit{Arche Types} são basicamente
\textit{templates} de projetos.}. Na próxima tela é preciso
informar as propriedades de \texttt{groupId}, \texttt{artifactId}, \texttt{version} e o  \texttt{package}. O
\texttt{groupId} é onde o Maven irá armazenar todos os artefatos com o mesmo
grupo, o \texttt{artifactId} é o nome identificador do projeto, o \texttt{Version} é a versão
do projeto e o \texttt{package} é o nome do pacote no qual será criado o projeto.

 \par O Maven possui um repositório central onde armazena os
 artefatos dos projetos criados por milhares de desenvolvedores e empresas.
 Para adicionar uma versão do projeto Neo4j no codigo Java, foi feita a
 declaração da dependência no arquivo POM. A figura abaixo mostra o
 código XML necessário para adicionar o Neo4j como uma dependência do projeto.
\begin{figure}[h!]
\begin{lstlisting}[style=custom_XML]
<project>
...
 <dependencies>
  ...
  <dependency>
   <groupId>org.neo4j</groupId>
   <artifactId>neo4j</artifactId>
   <version>1.9.4</version>
  </dependency>
  ...
 </dependencies>
 ...
</project>
\end{lstlisting}  
\end{figure}

\par O \texttt{artifactId} para a edição \textit{Community} é ``neo4j'' e, para
utilizar outras edições, é necessário adicionar outro \texttt{artifactId}. Para
obter outras versões do Neo4j \textit{Community} basta alterar o conteúdo da
\textit{tag} \texttt{version}. A lista de todas as versões disponíveis no
repositório Maven pode ser encontrada no respositório central.

